"""
@Time : 2021/9/15 22:29 
@Author : 常雷
@File : t_17列表排序.py 
@Software: PyCharm

将列表按下列规则排序，补全代码
1.正数在前, 负数在后
2.正数从小到大
3.负数从大到小
例如:
    排序前:[7, -8, 5, 4, 0, -2, -5]
    排序后:[0, 4, 5, 7, -2, -5, -8]
请补全代码:
    sorted(lst, key=lambda x:________)
"""
lst = [7, -8, 5, 4, 0, -2, -5]
res = sorted(lst, key=lambda x: (x < 0, abs(x)))
print(res)
'''
    比如:7, -8
    经过      lambda x: (x < 0, abs(x))
    变成了     (0, 7), (1, 8)
    由此原序数列被扩充成排序规则需要的样子
'''